var express     =       require('express')                  ;
var router      =       express.Router()                    ;
var responseData                                            ;
var User        =       require('../Models/User.js')        ;


router.get('/User' , (req,res,next) => {
    res.send('Api');
})


// code 状态码
// msg  信息码
// data 数据
router.use(function(req,res,next){
    responseData = {
        code:0,
        msg:'',
        data:''
    }
    next();
})




// 用户注册
/*
* 一、基本逻辑
    * 1.用户名不为空
    * 2.密码不为空
    * 3.两次密码一致
* 二、数据库
*  1.用户名是否被注册
* */
router.post('/User/register' , (req,res,next) => {
    var username        = req.body.username     ;
    var password        = req.body.password     ;
    var repassword      = req.body.repassword   ;

    if(username == ''){
        responseData.code=1;
        responseData.msg='账号不能为空';
        res.json(responseData);
        return ;
    }
    if(password == ''){
        responseData.code=2;
        responseData.msg='密码不能为空';
        res.json(responseData);
        return ;
    }
    if(password != repassword){
        responseData.code=3;
        responseData.msg='两次输入密码不一致';
        res.json(responseData);
        return ;
    }

    // 数据库查询判断
    User.findOne({
        username:username
    }).then( function(userInfo){
        // 数据库中存在该记录
        if( userInfo ){
            responseData.code=4;
            responseData.msg="用户名已注册";
            res.json(responseData);
            return ;
        }

        // 数据库不存在该记录
        var user = new User();
        user.username = username ;
        user.password = password ;

        return user.save().then(function(newUserInfo){
            // 注册成功
            responseData.msg='注册成功';
            res.json(responseData);
        });
    });
})



// 模块共享 router
module.exports  =       router                      ;